#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "defaultpage.h"
#include <QLabel>
#include <QWidget>
/**
 * MainWindow类的构造函数
 * @param parent 父窗口指针，默认为nullptr
 */
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)  // 调用基类QMainWindow的构造函数
    , ui(new Ui::MainWindow)  // 初始化UI界面
{
    ui->setupUi(this);  // 设置UI界面，从UI文件加载界面元素
    while(this->ui->stackedWidget->count()>0){
        // 获取当前页面
        QWidget* page = this->ui->stackedWidget->currentWidget();
        // 删除当前页面
        delete page;
    }
    connect(ui->pushButton,&QPushButton::clicked,this,&MainWindow::OnUserPage);
    connect(ui->pushButton_2,&QPushButton::clicked,this,&MainWindow::OnDefaultPage);
}
/**
 * @brief 切换堆叠窗口部件的内容
 * 此函数会先清除当前堆叠窗口中的所有页面，然后设置新的页面
 * @param f 指向要显示的新窗口部件的指针
 */
void MainWindow::switchStackedWidget(QWidget* f){

    // 循环删除堆叠窗口中的所有页面

    // 设置新的页面
    //this->ui->stackedWidget->addWidget(f);
    this->ui->stackedWidget->setCurrentWidget(f);
}
void MainWindow::InitStackedWidget(QList<QWidget *>t){
    for(QWidget* tf:t){
        this->ui->stackedWidget->addWidget(tf);
    }
}
MainWindow::~MainWindow()
{
    delete ui;
}
